package com.sprouting.personal.dao;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sprouting.personal.model.entity.Movies;
import com.sprouting.personal.model.vo.MoviesVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 影视 表数据库访问层
 *
 * @author longx
 * @since 2022-12-16 13:33:23
 */
public interface PsMoviesDao extends BaseMapper<Movies> {

    /**
     * 通过ID查询单条数据
     * @param id 主键
     * @return 实例对象
     */
    Movies getPsMoviesById(String id);

    /**
     * 批量新增数据（MyBatis原生foreach方法）
     * @param list List<PsMovies> 实例对象列表
     * @return 影响行数
     */
    int insertBatchPsMovies(@Param("list") List<Movies> list);

    /**
     * 分页查询影视信息
     * @param page 分页参数
     * @param movies 查询参数
     * @return
     */
    Page<MoviesVo> getMoviesPage(Page page, @Param("movies") Movies movies);

    /**
     * 根据名称-导演查询影视
     * @param id 主键，传则忽略查询该ID
     * @param userId 当前登录ID
     * @param name 影视名称
     * @param director 导演，名称可能重复，但加上导演后一般不会
     * @return
     */
    Movies getPsMoviesByName(@Param("id") String id, @Param("userId") String userId, @Param("name") String name, @Param("director") String director);
}

